The sudden and unforeseen destruction of a data storage facility can result in significant business interruption. In some cases, the extent of the interruption, when accompanied by data loss, can even threaten the existence of the business.
A known method of reducing the risk of such interruption is to periodically copy data from the data storage facility to a mirror location, either over a suitable transmission line or by physically transporting tapes or other media. A disadvantage of this solution is that the data may change in the interval between copy operations. If the facility is destroyed during this vulnerable interval, data loss may occur.
Data mirroring reduces the extent of this vulnerable interval to essentially zero. In a known mirroring system, a primary storage subsystem communicates with: a host, primary storage devices, and a mirror storage subsystem that manages mirror storage devices. When the host requests that data be saved, the primary storage subsystem causes that data to be written to a primary storage device. In addition, the primary storage subsystem sends a message to the mirror storage subsystem requesting that this data be written to a designated mirror device. Only when both these write operations have successfully completed does the primary storage subsystem send a message to the host confirming completion of the write operation.
The price of this security is latency. For each write operation, the host endures latency associated with: establishing a connection between itself and the primary storage subsystem, establishing a connection between the primary and mirror storage systems, and overhead associated with the mirroring software itself.